﻿using Clancy.Ui.ViewModels;
using Clancy.Ui.Views;
using Ninject.Modules;

namespace Clancy.Ui
{
    public class UiModelCatalog : NinjectModule
    {
        public override void Load()
        {
            Bind<MainWindowViewModel>().To<MainWindowViewModel>().InSingletonScope();
            Bind<ZoneEditorViewModel>().To<ZoneEditorViewModel>().InTransientScope(); //.InSingletonScope();
            Bind<MainWindow>().To<MainWindow>().InSingletonScope();
            Bind<VideoSourceSelectionViewModel>().To<VideoSourceSelectionViewModel>().InTransientScope();

            Bind<OperationModeViewModel>().To<OperationModeViewModel>().InSingletonScope();
            Bind<CameraManagerViewModel>().To<CameraManagerViewModel>().InSingletonScope();
            Bind<OnlineConnectionViewModel>().To<OnlineConnectionViewModel>().InSingletonScope();
            Bind<RecordingArchiveViewModel>().To<RecordingArchiveViewModel>().InSingletonScope();
            Bind<PropertyEditorViewModel>().To<PropertyEditorViewModel>().InSingletonScope();
            Bind<TeachThresholdViewModel>().To<TeachThresholdViewModel>().InSingletonScope();
        }
    }
}